import cn.hutool.core.util.XmlUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.lianxin.AesException;
import com.lianxin.WXBizJsonMsgCrypt;

import java.io.FileNotFoundException;
import java.util.Map;

/**
 * @author liuzhiqiang
 */
public class FluxTest {

    public static void main(String[] args) throws FileNotFoundException, AesException {



        System.out.println(String.format("%03d", Integer.parseInt("1112")));


//
//
//        FileReader fileReader = new FileReader("test.json");
//        String listJson = fileReader.readString();
//        List<JSONObject> list = JSONUtil.toList(listJson, JSONObject.class);
//        for (JSONObject rootDept : list) {
//            List<JSONObject> userList = rootDept.get("userList", List.class);
//            if (CollUtil.isNotEmpty(userList)) {
//                userList = userList.stream().sorted(Comparator.comparingInt(userJson -> userJson.getInt("isleader"))).collect(Collectors.toList());
//                userList = ListUtil.reverse(userList);
//                System.out.println(userList.get(0).getInt("isleader"));
//            }
//        }


//        Flux flux = Flux.just("刘志强", "王妍", "张三", "王强");
//        flux.subscribe(new Subscriber<String>() {
//
//            /**
//             * 订阅管理
//             */
//            volatile Subscription subscription;
//
//            /**
//             * 每次请求条数
//             */
//            final int i = 2;
//
//            /**
//             * 一次请求中的 出版商当前是第几次给订阅者发送消息
//             */
//            int j = 0;
//
//            @Override
//            public void onSubscribe(Subscription subscription) {
//                System.out.println("已发起订阅");
//                this.subscription = subscription;
//                subscription.request(i);
//
//            }
//
//
//            @Override
//            public void onNext(String value) {
//                j = j + 1;
//                System.out.println("出版商发送来了数据====" + value + "===第" + j + "条");
//                if (j == i) {
//                    j = 0;
//                    subscription.request(i);
//                }
//            }
//
//            @Override
//            public void onComplete() {
//                System.out.println("数据已发送完");
//            }
//
//            @Override
//            public void onError(Throwable throwable) {
//                System.out.println("数据发送异常");
//                throw Exceptions.errorCallbackNotImplemented(throwable);
//
//            }
//        });
//        flux.subscribe(new Subscriber<String>() {
//
//            /**
//             * 订阅管理
//             */
//            volatile Subscription subscription;
//
//            /**
//             * 每次请求条数
//             */
//            final int i = 2;
//
//            /**
//             * 一次请求中的 出版商当前是第几次给订阅者发送消息
//             */
//            int j = 0;
//
//            @Override
//            public void onSubscribe(Subscription subscription) {
//                System.out.println("已发起订阅2");
//                this.subscription = subscription;
//                subscription.request(i);
//
//            }
//
//            @Override
//            public void onNext(String value) {
//                j = j + 1;
//                System.out.println("出版商发送来了数据2====" + value + "===第" + j + "条");
//                if (j == i) {
//                    j = 0;
//                    subscription.request(i);
//                }
//            }
//
//            @Override
//            public void onComplete() {
//                System.out.println("数据已发送完2");
//            }
//
//            @Override
//            public void onError(Throwable throwable) {
//                System.out.println("数据发送异常2");
//                throw Exceptions.errorCallbackNotImplemented(throwable);
//
//            }
//        });
    }
}
